package com.cl.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.UUID;

import org.apache.commons.lang.StringUtils;

import sun.misc.BASE64Decoder;

/**
 * 全局方法工具类
 * @author chenlu
 * @date 2018-3-15 下午2:44:30
 */
public class GlobalUtil {
	/**
	 * 获取主键UUID
	 * @return
	 */
	public static synchronized String getUUID() {
		return UUID.randomUUID().toString().replace("-", "");
	}
	
	/**
	 * MD5加密
	 * @param password
	 * @return
	 */
	public static String encryptPassword(String password){
		MD5Util md5 = new MD5Util();
		return md5.getMD5ofStr(password);
	}
	
	/**
	 * base64字符串转化成图片  
	 * @param imgFilePath
	 * @param imgStr
	 * @return
	 */
    public static Boolean generateImageByBase64(String imgFilePath, String imgStr)  
    {   //对字节数组字符串进行Base64解码并生成图片  
        if (StringUtils.isBlank(imgStr)) //图像数据为空  
            return null;
        File targetFile = new File(imgFilePath); 
        BASE64Decoder decoder = new BASE64Decoder();  
        try   
        {  
            //Base64解码  
            byte[] b = decoder.decodeBuffer(imgStr);  
            for(int i=0;i<b.length;++i)  
            {  
                if(b[i]<0)  
                {//调整异常数据  
                    b[i]+=256;  
                }  
            }  
            OutputStream out = new FileOutputStream(targetFile);      
            out.write(b);  
            out.flush();  
            out.close();  
            return true;  
        }   
        catch (Exception e)   
        { 
        	e.printStackTrace();
            return false;  
        }  
    }  
}
